package commons.data;

import commons.data.category.Category;


// Représente une echelle cible pour une categorie d'objet dans une zone donnée
// La zone et la Catégory stockées servent à affecter cette Echelle,
//  issue des paramétrages aux bons objets, après, ca ne sert plus,
//  seule l'échelle_inv est importante.
public class EchelleGeneralization {
	public Zone zone;
	public double echelle_inv;
	public Category category;

	// Pour les annos :
	// variable optionnelle, utilisée uniquement quand l'échelle de généralisation concerne une anno
	//  le site et l'anno prennent l'échelle echelle_inv, et après ca, la taille de l'anno peut etre corrigée
	//  indépendemment du site (qui garde sa taille) d'un certain facteur
	public double facteurTaille;

	public boolean bToBeGeneralized;

	public EchelleGeneralization(Zone zone, Category category, double echelle_inv) {
		this (zone, category, echelle_inv, 1);
	}

	public EchelleGeneralization(Zone zone, Category category, double echelle_inv, double facteurTaille) {
		this.zone = zone;
		this.echelle_inv = echelle_inv;
		this.category = category;
		this.facteurTaille = facteurTaille;

		bToBeGeneralized = (echelle_inv != 0);
	}

}
